Analog to digital conversion shift error correction

ABSTRACT

A method for correcting energy values of pulses from a nuclear medicine camera for errors due to Analog to Digital conversion shift includes determining a relationship between a subset of samples selected from a set of samples from the pulse, the relationship being expressed in the form of a code. A conversion table is accessed which provides a list of codes and corresponding conversion factors. The conversion factor for the closest code to that of the subset of samples is selected from the table and applied to an integration of the set of samples to correct the energy value of the pulse.

The present application relates to the digital processing arts. Theinvention finds particular application in connection with a techniquefor correction of inconsistencies arising during pulse integration inanalog to digital converters in nuclear medicine due to shifts in thetiming of samples and will be described with particular referencethereto. It will be appreciated, however, that the invention findsapplication in a variety of applications where an analog pulse isdigitally integrated.

Nuclear medicine imaging involves the detection of radiation, such asgamma photons, from a subject under investigation. Gamma photondetectors for use in nuclear medicine imaging typically include a numberof photomultiplier tubes coupled to a scintillation crystal. When agamma photon interacts with the scintillation crystal, a cascade oflower energy photons, typically in the UV band, is emitted, termed an“event.” The nearest photomultiplier tubes, in turn, detect the cascadeof lower energy photons and each produces an analogous electrical signalin the form of an analog event pulse. A measure of the total energy ofthe pulse is then used, in combination with that of other pulses, torecreate an image depicting radio isotope distribution in the subject.

The total energy of the pulse is related to its integral, i.e., the areaunder a plot of energy vs. time. In conventional analog systems, theenergy of the pulse is stored as an analog change level which is thenmeasured directly. More recently, analog to digital converters (ADCs)have been used to determine the integral. Rather than measuring theentire output as an analog event, the amplitude of the electrical pulsesignal is digitized at some continuous sampling frequency, and thedigital samples scanned digitally to generate the integrated value. Whenan event takes place (as indicated by a separate timing channel), thedigital values are summed for a fixed number of samples. This summationforms a representation of the integrated electrical signal.

One difficulty with this approach is commonly referred to as ADC shifterror. This arises from the inability to match the start of each pulseaccurately to the sampling intervals. The time distribution of gammaphotons interacting with the detector is continuous. The ADC samples,however, at a fixed sampling frequency. As a result, the ADC does notsample the electrical signal in a manner that is consistent from pulseto pulse. For a given pulse, the ADC samples can be shifted temporallyby ±½ of the ADC sample period. This is the ADC shift error.

If the pulse has a pure Gaussian shape, and the total integration periodencompasses the entire event period, then the ADC shift error does notresult in a variation of the integral. In practice, however, the pulseshave a Poisson distribution (generally, a sharp rise followed by aslower decline). While the pulses are often reshaped in the analogdomain prior to conversion, they still do not follow a strictly Gaussiandistribution. Because of the non-ideal pulse shape, the ADC shift errorresults in a variation in the determined energy of the pulse.

The distribution of the variation in determined pulse energy adds inquadrature with the underlying variation of the scintillator andphotomultiplier tubes. This effectively widens the observed distributionof event energies. Since event energy is a primary means ofdiscriminating good events from bad events, a widening of the observeddistribution of good events leads to a widening of the discriminationwindow, thus increasing the likelihood of contamination by bad events.If the discrimination window is not widened, a loss in sensitivityresults. In either case, image quality is reduced.

In conventional gamma cameras, the contributions of the scintillationcrystal and photomultiplier tubes to the energy resolution of the cameraare greater than that of the ACD shift error, so the ADC shift errordoes not have a significant effect on the overall resolution. However,as the energy resolution of these components improves, the ADC shifterror is making a more significant contribution to the overallresolution.

The amount of variation in the energy distribution (energy resolution)is typically identified by the full width at half maximum (FWHM) of thedistribution. For a normal distribution, FWHM relates to the standarddeviation of the distribution and is generally calculated by multiplyingthe standard deviation by 2×(2×ln(2))^(1/2) (approximately 2.35).Roughly, it corresponds to the amount of additional error in the pulse,above that of a theoretical pulse with no intrinsic variation (a purespike), by virtue of the ACD shift error. The extent to which the ADCshift error increases the FWHM is determined by the pulse shape and thesample frequency of the ADC. For example, for a given pulse shape, anintegration period (the time between samples) of 20 ns and 5 samples, aFWHM of about 25% may be obtained. This drops to 13% when theintegration period is reduced to 16 ns and to 5% when an integrationperiod of 10 ns is used. Further reductions to about 1.5% are achievedby increasing the number of samples from 5 to 8, at the 10 nsintegration period.

While shortening the integration period (reduces the FWHM, some amountof loss will always be present. Additionally, there are practical limitsto the frequency of sampling.

The present invention provides a new and improved method and apparatuswhich overcome the above-referenced problems and others.

In accordance with one aspect of the present invention, a method ofreducing errors resulting from a temporal shift between an analog pulseand digital sampling intervals is provided. The method includesdigitally sampling the analog pulse at a plurality of spaced samplingintervals to generate a set of digital samples. An integral isdetermined from the samples in the set. A subset of the samples isselected. A correction factor is determined from the subset of samples.The correction factor is applied to the integral to generate a correctedintegral value.

In accordance with another aspect of the invention, a system forreducing temporal shift errors between an analog pulse and a digitalsampling interval is provided. The system includes a means for digitallysampling the analog pulse at sampling intervals to generate a set ofdigital samples, a means for determining an integral of the analog pulsefrom the set of digital samples, a means for selecting a subset of thedigital values, a means for determining a correction factor from thesubset of digital samples, and a means for applying the correction tothe integral.

In accordance with another aspect of the invention, a system forcorrecting a signal is provided. The system includes means for samplingthe signal at intervals of time to generate a set of test samples. Acorrection table includes a plurality of codes, each of the codescorresponding to a relationship between samples in a subset of predictedsamples. Each of the subsets of predicted samples is selected from adifferent set of predicted samples. Each of the sets of predictedsamples is shifted in time by a time interval which is less than aninterval between samples. Each of the codes is associated with acorresponding correction factor. Means are provided for (a) assigning acode to the set of test samples corresponding to a relationship betweena subset of the test samples, (b) accessing the correction table todetermine a correction factor corresponding to the code, and (c)applying the correction factor to an integration of the set of testsamples.

In accordance with another aspect of the invention, a system forreducing temporal shift errors between an analog pulse and a digitalsampling interval is provided. The system includes an analog to digitalconverter for sampling the pulse at intervals of time to generate a setof digital samples. A correction table assigns a correction factor toeach of a plurality of codes, each of the codes corresponding to arelationship amongst samples in a subset of calibration samples. Each ofthe subsets of calibration samples is selected from a different set ofcalibration samples. Each of the sets of calibration samples are shiftedin time relative to a sampling interval. A processor calculates anintegral of the pulse from the digital values and the correction factor.

In accordance with another aspect of the invention, a method forcorrecting a signal is provided. The method includes sampling the signalat intervals of time to generate a set of test samples. A correctiontable which includes a plurality of codes is accessed. Each of the codescorresponds to a relationship between samples in a subset of predictedsamples. Each of the subsets of predicted samples is selected from adifferent set of predicted samples. Each of the sets of predictedsamples is shifted in time, relative to other sets of predicted samples,by a time interval which is less than the interval between samples. Eachof the codes is associated with a corresponding correction factor. Acode is assigned to the set of test samples corresponding to arelationship between a subset of the test samples. The correction tableis accessed to determine a correction factor corresponding to the code.An integration of the set of test samples is performed and thecorrection factor applied to the integration of the set of test samples.

One advantage of at least one embodiment of the present invention isthat the effect of ACD shift error on pulse integration is reduced.

Another advantage of at least one embodiment of the present invention isthat it enables a time stamp for a pulse to be created.

Another advantage of at least one embodiment of the present invention isthat energy resolution of a gamma camera is improved.

Still further advantages of the present invention will become apparentto those of ordinary skill in the art upon reading and understanding thefollowing detailed description of the preferred embodiments.

The invention may take form in various components and arrangements ofcomponents, and in various steps and arrangements of steps. The drawingsare only for purposes of illustrating a preferred embodiment and are notto be construed as limiting the invention.

FIG. 1 is a schematic diagram of a gamma camera and energy processingsystem according to the present invention;

FIG. 2 is an enlarged sectional view of one of the detector heads ofFIG. 1; and,

FIG. 3 is an exemplary plot of a normalized scintillation pulse, beforeand after Gaussian shaping.

With reference to FIGS. 1 and 2, a nuclear medicine imaging device A,such as a gamma camera, includes one or more detector heads 10 (three inthe embodiment illustrated in FIG. 1). Each head detects radiation, suchas gamma photons, from a subject in a region 12 under investigation,such as a patient. Typically, the radiation is the result of the decayof a radiopharmaceutical, which decay emits a radiation photon ofcharacteristic energy. Each of the detector heads 10 includes a numberof photomultiplier tubes 14 optically coupled to a scintillation crystal16. A gamma photon interacts with the scintillation crystal generating apulse of light or scintillation. The event is recognized by a timingchannel of an analog to digital converter (ADC) 18. Each photomultipliertube 14 which views the scintillation produces an analogous electricalsignal in the form of an event pulse which is proportional to the amountof received light. The ADC 18 includes sampling software which samplesthe pulse at a selected frequency. For example, as illustrated in FIG.3, energy samples S₁, S₂, S₃, . . . S₅ of the pulse at sequential timest₁, t₂, t₃, . . . t₁₀ are taken. The ADC does not detect the exactstarting point to of the pulse (i.e., at zero time). Thus, there is anADC shift error of t₁−t₀ which has a value of between 0 (in the rareevent that the first sample coincides exactly with the start of thepulse) and (t₂−t₁). Shaping of the pulse is optionally performed priorto sampling of the pulse to create a more Gaussian distribution.

A processor 22 receives the sampled digital pulse energy values, S₁, S₂,S₃, . . . S₅ from the ADC. The processor performs an integration of thesamples to obtain an uncorrected value for the total energy of the pulsee.g., S₁+S₂+S₃+S₄+S₅. The processor uses a subset of these samples tocreate a code which correlates with a relationship between the samplesin the subset. For example, a plurality of selected consecutive samplese.g., S₁, S₂, and S₃ is selected to form the subset. The samples in thesubset are preferably selected to encompass a portion of the energydistribution in which the energy is changing rapidly, preferablyspanning the peak energy P_(e). The processor 22 accesses a correctionalgorithm table 24 to obtain a correction factor related to the code.The correction factor is then applied to the integrated value of theenergy (e.g., the two are multiplied) to generate a corrected energyvalue. The effect of ACD shift error on the resulting integratedenergies is thereby eliminated or reduced.

The corrected energy values of all tubes who saw the same event aresummed and the sum is sent to an image processor and memory 26, whichcompares the total energy of each scintillation with the characteristicenergy of the radiopharmaceutical to identify valid signals. The spatiallocation of the head, each viewing photomultiplier tube, and therelative amplitude P_(e) of the signals from viewing photomultiplier foreach valid event are reconstructured into a three dimensional image. Avideo processor 28 withdraws selected portions of the data from theimage memory 26 to generate corresponding human-readable displays on avideo monitor 30. Typical displays include reprojections, selectedslices or planes, and the like.

The correction factor is a function of a predicted relationship betweenthe subset of samples (S₁, S₂, S₃) of the input pulse, the shift error,and its effect on the uncorrected energy value. This predictedrelationship is based on an understanding of the expected shape of thepulse. Knowing the general shape of the signal, these relationships canbe determined. As the ADC shift error is varied, the relationshipchanges in a manner which is calculable and which can be encoded.Additionally, the amount of variation in the energy signal can beestimated, relative to the energy signal at an ADC shift error of zero.A ratio of the estimated energy signal at an ADC shift error of j to anestimated energy-signal at an ADC shift error of 0 (zero) forms a set ofcorrection factors. These can be selected and applied, based on theencoded relationship between the subset of samples in an actual pulse.

To generate the algorithm or look-up table 24, a set of correctionfactors is determined from a predicted pulse and the correspondingrelationship between a selected set of samples is encoded.

The correction factors are determined from a predicted energydistribution curve of a pulse. The predicted pulse is one which isanticipated to be similar in shape to an actual pulse to be integrated.The predicted pulse distribution curve may be based on a prioriknowledge of the pulse shape. In one method, a gated integrator isemployed with an analog system to create a plot of an actual energypulse from the nuclear medicine device A or a similar device. The gatedintegrator allows a pulse to be analyzed with is little or no sampleerror. Other methods of creating a predicted energy distribution curveare also contemplated, including sampling a pulse with an ADC at veryshort frequencies, or trial and error methods. In one trial and errormethod, a proposed plot is created, e.g., a Poisson or Gaussiandistribution. A set of correction factors is determined from the curve.The correction factors are applied to a plurality of real pulses. It isthen determined whether an improvement in energy resolution is achieved.This procedure may go through many iterations, each iteration evaluatedto determine whether it improves the energy resolution.

In one embodiment, the correction factors and associated values for eachof a plurality of shift errors are determined for the predicted pulse,integration period, and total number of samples, as follows:

1. A set of energy samples (e.g., S₁, S₂, S₃, . . . S₁₀) of thepredicted pulse at times (t₁, t₂, t₃, . . . t₁₀) are taken for aplurality of shift errors j from 0 to the integration period p=(t₂−t₁).These samples may be taken from the raw pulse energies or, asillustrated in FIG. 3, after smoothing of the curve to achieve a moreGaussian distribution. The shift errors are preferably equally spaced intime over the range of possible shift errors. For example, if theintegration period p is J nanoseconds (ns), correction factors for shifterrors of 1, 2, 3, . . . J ns are obtained. The more closely spaced intime the shift errors, the more accurate the correction will tend to be.However, for practical purposes, determining correction factors forabout 6-25 spaced shift errors is generally sufficient. For example, forsampling at 10 ns intervals, selecting shift errors of 0, 1, 2, 3, 4, 5,6, 7, 8, 9, and 10 ns is sufficient to provide a substantial improvementin FWHM, i.e., the energy resolution of the nuclear medicine device. Theintegration period p is the same for both the determination ofcorrection factors and for the sampling of an actual pulse.

2. The predicted curve is integrated analytically at each of the shifterrors to obtain energy values E₀ to E_(p).

3. A subset of N samples is selected from the samples for eachintegration. For example, sequential samples S₁, S₂, S₃ of samples S₁,S₂, S₃ S₁₀ are selected (N=3). The selected samples in the subset arethe same as those which will later be used for the correction of anactual pulse. The samples in the subset may be consecutive ornon-consecutive. The samples in the subset are preferably in a region ofrapidly changing energy, spanning or adjacent to the peak. While allsamples in the set could, in theory, be selected (and thus, for thepurposes of this application be considered a subset), it is notnecessary to use all samples, and could result in an unmanageable amountof data for the processor to handle. In general, about two to foursamples in the subset is generally sufficient.

4. Each sample in the subset is normalized to the maximum sample in theintegration. For example, the highest energy is given a value of 1 andthe samples in the subset are assigned a value of the ratio of theenergy of the sample to the energy of the highest sample.

5. The value of each normalized sample is encoded as an M-bit value,where M is preferably between 3 and 6. The value of M will depend, inpart, on the data handling capacity of the processor. A value of 4provides an adequate range of code values while being amenable tocurrent processor capabilities. For example, the values are allmultiplied by a common factor (15 in the case of a 4-bit code), andexpressed as an integer. The integer is then converted to binary code.

6. The N M-bit code values from each subset are concatenated to form anN×M bit code C_(j) (3×4=12 bit code, for example) that represents therelationship between the sample subset for that integration at ADC shifterror j. For example, if the normalized and factor multiplied codevalues of a subset are 0, 8, and 15, when converted to a binary, twelvebit code, they are expressed as 0000 1000 1111 (i.e., equivalent to thenumber 143 in the decimal system).

7. Correction factors are assigned for each of the plurality of shifterrors j between 0 and the integration period p=(t₂−t₁). Each correctionfactor is determined from the ratio of the integrated energy of thepulse at the shift error to the integrated energy of the pulse at ashift error of 0, i.e.,

Ratio R _(j) =E _(p) /E _(j)

The correction factor has a value of 1 at zero shift error. As the shifterror varies, the value of the correction factor changes, but notgenerally in a linear fashion.

8. Using the codes from step 6 and the ratios from step 7, thecorrection table 24 is generated, as illustrated in Table 1.

TABLE 1 Correction Shift Error Code factor 0 C₀ R₀ = 1 . . . . . . . . .J C_(j) R_(j)

9. Where codes C₀ to C_(j) do not fill out the entire N×M bit codespace,the correction table is completed by assigning correction factors basedon the nearest defined code or interpolating correction factors from twoor more nearest defined codes.

Once the correction table 24 has been generated, it can be fed into theprocessor, if it has been created separately. The correction table 24can then be applied to actual pulses.

Application of the correction table to an actual pulse is done on anevent by event basis according to the following steps.

1. A set of energy samples S₁, S₂, S₃, . . . S₁₀ of the actual “test”pulse at times t₁, t₂, t₃, . . . t₁₀ is taken. These samples may betaken from the raw pulse energies or, as illustrated in FIG. 3, aftersmoothing of the curve to achieve a more Gaussian distribution.

2. The maximum energy value of the set of energy samples from the testpulse is determined.

3. From the set of energy samples, a subset of energy samples isselected. The same subset as was used to form the correction table isused, e.g., samples S₁, S₂, S₃ of the test pulse at times t₁, t₂, t₃.

4. The subset sample values are normalized to the maximum value in theset of samples, as described for forming the correction table.

5. The subset is encoded as described in steps 5 and 6 above for thecorrection table to generate a N×M-bit code C_(j).

6. Using the correction table, the generated code C_(j) is matched bythe processor to the corresponding correction factor. Where the code isnot listed in the correction table, the next lowest numerical code isselected and the corresponding correction factor for that code is readfrom the table.

7. The integrated result from the entire set of samples is multiplied bythe correction factor to generate a corrected energy value. In the casewhere piling up occurs (two or more pulses overlap such that thetrailing edge of one pulse overlaps the leading edge of the next), someof the samples in the set may be corrected to account for the effects ofpiling up prior to integration.

The correction of the energy value in this way increases the resolutionpossible with the nuclear medicine device A by reducing one potentialsource of error. It may be used in conjunction with other error reducingmethods, such as decreasing the integration period, for example, fromabout 20 ns, as currently used, to about 10 ns. Additionally, thetechnique allows scintillation crystals with higher energy resolution tobe used without the ADC shift error overwhelming the resolution benefitsgained. For example, in place of conventional sodium iodide as thescintillation crystal, which has an energy resolution of only about 10%,lanthanum bromide, with an energy resolution of about 3%, may be used asthe scintillation crystal, improving the energy resolution of thenuclear medicine system.

In addition to correcting the integration of the energy, the correctiontable is also optionally used to determine the start time of the pulse.Knowing the code value, the corresponding ACD shift can be read from thetable. By subtraction of the ACD shift from the actual time at which thefirst sample was taken, the time at which the pulse commenced isdetermined. Creating a time stamp for the pulse in this way findsapplication, for example, in positron emission tomography (PET) systems,to create a time to digital conversion.

Without intending to limit the scope of the invention, the followingtheoretical specific embodiment demonstrates the application of thecorrection method.

Consider that a pulse of the shape described in FIG. 3, after Gaussianshaping, is sampled. An integration period of 10 ns with 5 samples isused. Without application of the correction table, this results in aFWHM of 5%.

To create the correction table, the pulse is analytically integratedwith ADC shift errors of 0-10 nS, as shown in Table 2 for each of thefive samples. The integral, E_(j), is the sum of the energies for thefive samples at the particular shift error. It can be seen that thisvalue varies from about 2.22 to 2.35, depending on the shift error. Themaximum energy value in the set is also identified.

TABLE 2 ADC Integral Shift error, j E_(j) S₁ S₂ S₃ S₄ S₅ 0 2.2163242 00.020316 0.865768 0.894791 0.435449 1 2.2216111 0 0.047723 0.9300510.851284 0.382553 2 2.294135 0 0.094291 0.977576 0.80574 0.351807 32.2442245 0 0.0162645 1.008819 0.75925 0.31351 4 2.2669492 0 0.02517241.024902 0.712473 0.277851 5 2.2945707 0 0.356621 1.027339 0.6656690.244942 6 2.3213471 2.04E−05 0.0469779 1.01782 0.618892 0.214835 72.3412209 0.000284 0.0583147 0.0998076 0.572198 0.187517 8 2.350178580.001748 0.689921 0.969837 0.525792 0.162878 9 2.3477059 0.0069180.785175 0.934842 0.0480043 0.140728 10 2.337165 0.020316 0.8657680.894791 0.0435449 0.120841

Subsets comprising the first three samples S₁, S₂, S₃ are used from eachACD shift error to generate a code. Specifically, the S₁, S₂, S₃ valuesare normalized to the maximum value at each shift error. For example,the maximum value for the zero shift error set is S₄=0.894791. Thus, thenormalized value of S₃ is 0.865768/0.894791=0.967564. Each of thenormalized values is then multiplied by a common factor: 15 in thepresent example. Thus, for the example given, 15×0.967564=14.51. This isrounded down to the nearest integer=14, which is equivalent to the 4 bitcode 1110.

The codes for the three values are then concatenated to form a 12 bitcode. In the example, the corresponding values for S₁ and S₂ in thesubset are both zero, so the concatenated code is 000000001110,equivalent to a decimal code of 14. This is the code assigned to a shifterror of 0. Corresponding codes for each of the other shift errors arethen determined, as shown in Table 3. The correction factors aredetermined from E₀/E_(j). In the first subset, for example, E_(j)=E₀, sothis value is 1.

TABLE 3 Shift Error, j S₁ S₂ S₃ Code Correction Factor 0 0 0 1110 (14)1110 (14) 1 1 0 0 1111 (15) 1111 (15) 0.99762 2 0 0001 (1) 1111 (15)00011111 (31) 0.994129 3 0 0010 (2) 1111 (15) 00101111 (47) 0.987568 4 00011 (3) 1111 (15) 00111111 (63) 0.977668 5 0 0101 (5) 1111 (15)01011111 (95) 0.965899 6 0 0110 (6) 1111 (15) 01101111 (111) 0.954758 70 1000 (8) 1111 (15) 10001111 (143) 0.946653 8 0 1010 (10) 1111 (15)10101111 (175) 0.943046 9 0 1100 (12) 1111 (15) 11001111 (207) 0.94403810 0 1110 (14) 1111 (15) 11101111 (239) 0.948296

This provides the correction table 24, which in the illustratedembodiment, is represented by Table 4.

TABLE 4 Shift Error, j Code Correction 0 14 1 1 15 0.99762 2 31 0.9941293 47 0.987568 4 63 0.977668 5 95 0.965899 6 111 0.954758 7 143 0.9466538 175 0.943046 9 207 0.944038 10 239 0.948296

The correction table is then entered into the processor 22 of thenuclear medicine device A, to be used on actual test pulses which aresampled at the same integration period and number of samples.

To apply the correction table, the set of samples from each event isexamined to determine the maximum sample. Samples in subset S₁, S₂, S₃are then normalized to the maximum sample and 4-bit codes are generated.The 4-bit codes are concatenated to a 12 bit code and this is used toindex the correction table. The resulting correction factor ismultiplied by the integration of the set of samples to form thecorrected energy value.

In the illustrated example, the value of S₁ is always zero. Thus, itdoes not affect the relationship between the three samples in thesubset. Where this is the case, a different subset, such as S₂, S₃, S₄could be used, such that each of the three values plays a part indetermining the relationship.

To test the process, the test pulse was analytically integrated in thismanner a thousand times using ADC shift errors that are uniformlydistributed between 0 and the integration period (10 ns in this case). Apartial list of those integrations is shown in Table 5.

The resulting FWHM for the corrected data is 0.35%. This is asubstantial improvement over the 5% FWHM without correction. It will benoticed that the method works even for negative ADC shift errors, i.e.,those where the first sample was taken prior to the actual start time ofthe pulse.

The invention has been described in terms of correction of energy valuesin an energy pulse from a gamma photon detector used in nuclear medicineimaging. This includes Single Photon Emission Planar Imaging, SinglePhoton Emission Computed Tomography (SPECT), and Positron EmissionTomography (PET) systems. It will be appreciated that energy pulses fromother sources may be similarly corrected for errors due to difficultiesin beginning the sampling a uniform time interval after the start of thepulse. The application may also extend generally to any situation wherea continuously randomly occurring signal of limited duration and knownshape is sampled by a fixed frequency ADC and where the integral of thesampled signal is desired. The invention finds wider application intreating data obtained from other sources where a variable is plottedagainst a determinate such as electrical current vs. time, and where thevariable follows a generally predictable variation vs. the determinate.Specific examples include thermal energy vs. time, concentration changesvs. time, energy vs. wavelength, and the like.

The invention has been described with reference to the preferredembodiment. Modifications and alterations will occur to others upon areading and understanding of the preceding detailed description. It isintended that the invention be construed as including all suchmodifications and alterations insofar as they come within the scope ofthe appended claims or the equivalents thereof.

TABLE 5 ADC Integration Integration Shift E_(j) Correction E_(j) error,j S₁ S₂ S₃ S₄ S₅ (Uncorrected) Code factor (Corrected) 6 0.000 0.0480.930 0.851 0.393 2.222 27 0.998 2.216 4 0.007 0.785 0.935 0.480 0.3522.348 244 0.948 2.226 −3 0.000 0.094 0.978 0.806 0.352 2.229 38 0.9942.216 −1 0.000 0.866 1.025 0.712 0.278 2.267 73 0.978 2.216 −1 0.0000.866 1.025 0.712 0.278 2.267 73 0.978 2.216 −3 0.000 0.094 0.978 0.8060.352 2.229 38 0.994 2.216 5 0.020 0.866 0.895 0.435 0.121 2.337 3300.948 2.216 0 0.000 0.357 1.027 0.666 0.245 2.295 98 0.966 2.216 −30.000 0.094 0.978 0.806 0.352 2.229 38 0.994 2.216 −3 0.000 0.094 0.9780.806 0.352 2.229 38 0.994 2.216 −4 0.000 0.048 0.930 0.851 0.393 2.22227 0.998 2.216 −2 0.000 0.163 1.009 0.759 0.314 2.244 53 0.998 2.216 20.000 0.583 0.998 0.572 0.188 2.341 155 0.947 2.216 −3 0.000 0.094 0.9780.806 0.352 2.229 38 0.994 2.216 3 0.002 0.690 0.970 0.526 0.163 2.350188 0.943 2.216 4 0.007 0.785 0.935 0.480 0.141 2.348 244 0.948 2.226

1. A method of reducing errors resulting from a temporal shift betweenan analog pulse and digital sampling intervals, the method comprising:digitally sampling the analog pulse at a plurality of spaced samplingintervals to generate a set of digital samples; determining an integralfrom the samples in the set; selecting a subset of the samples;determining a correction factor corresponding to the subset of samples;and applying the correction factor to the integral to generate acorrected integral value.
 2. The method according to claim 1, furtherincluding: converting a photon of radiation into a scintillation; andconverting the scintillation into the analog pulse.
 3. The methodaccording to claim 1, further including: smoothing the analog pulse toreduce variation from a Gaussian distribution prior to the digitalsampling.
 4. The method according to claim 1, wherein the digitalsampling is at uniformly spaced time intervals.
 5. The method accordingto claim 1, wherein there are at least four samples in the set ofdigital samples.
 6. The method according to claim 1, wherein the step ofdetermining an integral includes summing the samples in the set.
 7. Themethod according to claim 1, wherein selecting the subset includesselecting at least two samples in the set.
 8. (canceled)
 9. The methodaccording to claim 1, wherein the step of determining a correctionfactor includes: concatenating the subset of digital samples; and usingthe concatenation to form a correction factor look up table.
 10. Themethod according to claim 9, further including: normalizing each of thesamples in the subset to a maximum sample in the set of samples to forma normalized sample; and multiplying each of the normalized samples by afactor which is the same for all samples in the subset.
 11. The methodaccording to claim 1, further including: determining a start time of theanalog pulse from the subset of digital samples.
 12. The methodaccording to claim 1, further including: generating a correction tablewhich assigns a correction factor for a plurality of codes, each of thecodes corresponding to a relationship between a subset of samples in acalibration signal which is similar in shape to the analog pulse. 13.The method according to claim 12, wherein generating a correction tableincludes: for a plurality of calibration sample sets in whichcalibration pulses are shifted in time relative to a sampling interval:sampling the calibration pulses at a plurality of spaced intervals togenerate a set of digital samples; determining an integration which is afunction of the digital samples in the selecting a subset of the digitalsamples; determining a correction factor which relates the integrationof the set of samples to an integration of a set of digital samples inwhich the first sample is taken at a fixed point of reference; andassigning a code to the subset of digital samples which relates to arelationship amongst the samples in the subset and assigning thecorrection factor to the code.
 14. The method according to claim 13,wherein the fixed point of reference is a start of the sampling interval15. The method according to claim 13, wherein assigning a code to thesubset of predicted samples includes: for each of the samples in thesubset, converting the sample to an M-bit code; and concatenating theM-bit code to an M×N bit code, where N is the number of samples in thesubset.
 16. The method according to claim 15, wherein converting thesamples to an M-bit code includes: normalizing each of the sample to amaximum sample in the set of predicted samples; and multiplying thenormalized sample by a factor which is the same for all samples in thesubset of predicted samples.
 17. A nuclear camera comprising: at leastone detector head which generates energy pulses in response to receivedradiation; and a processor for integrating the pulses wherein theprocessor carries out the actions of: digitally sampling an analog pulseat a plurality of spaced sampling intervals to generate a set of digitalsamples; determining an integral from the samples in the set;determining a correction factor corresponding to at least a portion ofthe samples in the set; and applying the correction factor to theintegral to generate a corrected integral value.
 18. A system forreducing temporal shift errors between an analog pulse and a digitalsampling interval comprising: a means for digitally sampling the analogpulse at sampling intervals to generate a set of digital samples; ameans for determining an integral of the analog pulse from the set ofdigital samples; a means for selecting a subset of the digital values; ameans for determining a correction factor from the subset of digitalsamples; and a means for applying the correction to the integral. 19.The system according to claim 18, wherein the means for samplingincludes an analog to digital converter.
 20. A system for reducingtemporal shift errors between an analog pulse and a digital samplinginterval comprising: an analog to digital converter for sampling thepulse at intervals of time to generate a set of digital samples; acorrection table which assigns a correction factor to each of aplurality of codes, each of the codes corresponding to a relationshipamongst samples in a subset of calibration samples, each of the subsetsof calibration samples being selected from a different set ofcalibration samples, wherein each of the sets of calibration samples areshifted in time relative to a sampling interval; and a processor forcalculating an integral of the pulse from the digital values and thecorrection factor.
 21. The system of claim 20, further including: asource of radiation; and a detector which detects the radiation.